package com.dev.springBootDemo.generics6;

import java.util.ArrayList;
import java.util.List;

/**
 * @author zhumq
 * @date 2024/7/7 13:46
 */
public class TestGenerics {
    public static void main(String[] args) {
        ArrayList<Parent> parents = new ArrayList<>();
        ArrayList<Chlidren> children = new ArrayList<>();
        printList(parents);
        printList(children);
        ArrayList<Object> objects = new ArrayList<>();
        printList2(objects);
    }

    /**
     * 类型通配符上限
     * List<? extends Parent>  上限, 表示list中存放的元素类型是Parent或者Parent的子类
     *
     * @param list
     */
    public static void printList(List<? extends Parent> list){}

    /**
     * 类型通配符下限
     * List<? super Parent>  下限, 表示list中存放的元素类型是Parent或者Parent的父类
     *
     * @param list
     */
    public static void printList2(List<? super Parent> list){}

}

